home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2007 June / SAN CD 6-2007 CD-ROM 25.iso / pc / Software / AstroGrav_Win / Java / jre1.6.0 / lib / rt.jar / sun / misc / Unsafe.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  5.5 KB  |  321 lines

  1. package sun.misc;
  2.  
  3. import java.lang.reflect.Field;
  4. import java.lang.reflect.Modifier;
  5. import java.security.ProtectionDomain;
  6. import sun.reflect.Reflection;
  7.  
  8. public final class Unsafe {
  9.    private static final Unsafe theUnsafe;
  10.    public static final int INVALID_FIELD_OFFSET = -1;
  11.  
  12.    private static native void registerNatives();
  13.  
  14.    private Unsafe() {
  15.    }
  16.  
  17.    public static Unsafe getUnsafe() {
  18.       Class var0 = Reflection.getCallerClass(2);
  19.       if (var0.getClassLoader() != null) {
  20.          throw new SecurityException("Unsafe");
  21.       } else {
  22.          return theUnsafe;
  23.       }
  24.    }
  25.  
  26.    public native int getInt(Object var1, long var2);
  27.  
  28.    public native void putInt(Object var1, long var2, int var4);
  29.  
  30.    public native Object getObject(Object var1, long var2);
  31.  
  32.    public native void putObject(Object var1, long var2, Object var4);
  33.  
  34.    public native boolean getBoolean(Object var1, long var2);
  35.  
  36.    public native void putBoolean(Object var1, long var2, boolean var4);
  37.  
  38.    public native byte getByte(Object var1, long var2);
  39.  
  40.    public native void putByte(Object var1, long var2, byte var4);
  41.  
  42.    public native short getShort(Object var1, long var2);
  43.  
  44.    public native void putShort(Object var1, long var2, short var4);
  45.  
  46.    public native char getChar(Object var1, long var2);
  47.  
  48.    public native void putChar(Object var1, long var2, char var4);
  49.  
  50.    public native long getLong(Object var1, long var2);
  51.  
  52.    public native void putLong(Object var1, long var2, long var4);
  53.  
  54.    public native float getFloat(Object var1, long var2);
  55.  
  56.    public native void putFloat(Object var1, long var2, float var4);
  57.  
  58.    public native double getDouble(Object var1, long var2);
  59.  
  60.    public native void putDouble(Object var1, long var2, double var4);
  61.  
  62.    /** @deprecated */
  63.    @Deprecated
  64.    public int getInt(Object var1, int var2) {
  65.       return this.getInt(var1, (long)var2);
  66.    }
  67.  
  68.    /** @deprecated */
  69.    @Deprecated
  70.    public void putInt(Object var1, int var2, int var3) {
  71.       this.putInt(var1, (long)var2, var3);
  72.    }
  73.  
  74.    /** @deprecated */
  75.    @Deprecated
  76.    public Object getObject(Object var1, int var2) {
  77.       return this.getObject(var1, (long)var2);
  78.    }
  79.  
  80.    /** @deprecated */
  81.    @Deprecated
  82.    public void putObject(Object var1, int var2, Object var3) {
  83.       this.putObject(var1, (long)var2, var3);
  84.    }
  85.  
  86.    /** @deprecated */
  87.    @Deprecated
  88.    public boolean getBoolean(Object var1, int var2) {
  89.       return this.getBoolean(var1, (long)var2);
  90.    }
  91.  
  92.    /** @deprecated */
  93.    @Deprecated
  94.    public void putBoolean(Object var1, int var2, boolean var3) {
  95.       this.putBoolean(var1, (long)var2, var3);
  96.    }
  97.  
  98.    /** @deprecated */
  99.    @Deprecated
  100.    public byte getByte(Object var1, int var2) {
  101.       return this.getByte(var1, (long)var2);
  102.    }
  103.  
  104.    /** @deprecated */
  105.    @Deprecated
  106.    public void putByte(Object var1, int var2, byte var3) {
  107.       this.putByte(var1, (long)var2, var3);
  108.    }
  109.  
  110.    /** @deprecated */
  111.    @Deprecated
  112.    public short getShort(Object var1, int var2) {
  113.       return this.getShort(var1, (long)var2);
  114.    }
  115.  
  116.    /** @deprecated */
  117.    @Deprecated
  118.    public void putShort(Object var1, int var2, short var3) {
  119.       this.putShort(var1, (long)var2, var3);
  120.    }
  121.  
  122.    /** @deprecated */
  123.    @Deprecated
  124.    public char getChar(Object var1, int var2) {
  125.       return this.getChar(var1, (long)var2);
  126.    }
  127.  
  128.    /** @deprecated */
  129.    @Deprecated
  130.    public void putChar(Object var1, int var2, char var3) {
  131.       this.putChar(var1, (long)var2, var3);
  132.    }
  133.  
  134.    /** @deprecated */
  135.    @Deprecated
  136.    public long getLong(Object var1, int var2) {
  137.       return this.getLong(var1, (long)var2);
  138.    }
  139.  
  140.    /** @deprecated */
  141.    @Deprecated
  142.    public void putLong(Object var1, int var2, long var3) {
  143.       this.putLong(var1, (long)var2, var3);
  144.    }
  145.  
  146.    /** @deprecated */
  147.    @Deprecated
  148.    public float getFloat(Object var1, int var2) {
  149.       return this.getFloat(var1, (long)var2);
  150.    }
  151.  
  152.    /** @deprecated */
  153.    @Deprecated
  154.    public void putFloat(Object var1, int var2, float var3) {
  155.       this.putFloat(var1, (long)var2, var3);
  156.    }
  157.  
  158.    /** @deprecated */
  159.    @Deprecated
  160.    public double getDouble(Object var1, int var2) {
  161.       return this.getDouble(var1, (long)var2);
  162.    }
  163.  
  164.    /** @deprecated */
  165.    @Deprecated
  166.    public void putDouble(Object var1, int var2, double var3) {
  167.       this.putDouble(var1, (long)var2, var3);
  168.    }
  169.  
  170.    public native byte getByte(long var1);
  171.  
  172.    public native void putByte(long var1, byte var3);
  173.  
  174.    public native short getShort(long var1);
  175.  
  176.    public native void putShort(long var1, short var3);
  177.  
  178.    public native char getChar(long var1);
  179.  
  180.    public native void putChar(long var1, char var3);
  181.  
  182.    public native int getInt(long var1);
  183.  
  184.    public native void putInt(long var1, int var3);
  185.  
  186.    public native long getLong(long var1);
  187.  
  188.    public native void putLong(long var1, long var3);
  189.  
  190.    public native float getFloat(long var1);
  191.  
  192.    public native void putFloat(long var1, float var3);
  193.  
  194.    public native double getDouble(long var1);
  195.  
  196.    public native void putDouble(long var1, double var3);
  197.  
  198.    public native long getAddress(long var1);
  199.  
  200.    public native void putAddress(long var1, long var3);
  201.  
  202.    public native long allocateMemory(long var1);
  203.  
  204.    public native long reallocateMemory(long var1, long var3);
  205.  
  206.    public native void setMemory(long var1, long var3, byte var5);
  207.  
  208.    public native void copyMemory(long var1, long var3, long var5);
  209.  
  210.    public native void freeMemory(long var1);
  211.  
  212.    /** @deprecated */
  213.    @Deprecated
  214.    public int fieldOffset(Field var1) {
  215.       return Modifier.isStatic(var1.getModifiers()) ? (int)this.staticFieldOffset(var1) : (int)this.objectFieldOffset(var1);
  216.    }
  217.  
  218.    /** @deprecated */
  219.    @Deprecated
  220.    public Object staticFieldBase(Class var1) {
  221.       Field[] var2 = var1.getDeclaredFields();
  222.  
  223.       for(int var3 = 0; var3 < var2.length; ++var3) {
  224.          if (Modifier.isStatic(var2[var3].getModifiers())) {
  225.             return this.staticFieldBase(var2[var3]);
  226.          }
  227.       }
  228.  
  229.       return null;
  230.    }
  231.  
  232.    public native long staticFieldOffset(Field var1);
  233.  
  234.    public native long objectFieldOffset(Field var1);
  235.  
  236.    public native Object staticFieldBase(Field var1);
  237.  
  238.    public native void ensureClassInitialized(Class var1);
  239.  
  240.    public native int arrayBaseOffset(Class var1);
  241.  
  242.    public native int arrayIndexScale(Class var1);
  243.  
  244.    public native int addressSize();
  245.  
  246.    public native int pageSize();
  247.  
  248.    public native Class defineClass(String var1, byte[] var2, int var3, int var4, ClassLoader var5, ProtectionDomain var6);
  249.  
  250.    public native Class defineClass(String var1, byte[] var2, int var3, int var4);
  251.  
  252.    public native Object allocateInstance(Class var1) throws InstantiationException;
  253.  
  254.    public native void monitorEnter(Object var1);
  255.  
  256.    public native void monitorExit(Object var1);
  257.  
  258.    public native boolean tryMonitorEnter(Object var1);
  259.  
  260.    public native void throwException(Throwable var1);
  261.  
  262.    public final native boolean compareAndSwapObject(Object var1, long var2, Object var4, Object var5);
  263.  
  264.    public final native boolean compareAndSwapInt(Object var1, long var2, int var4, int var5);
  265.  
  266.    public final native boolean compareAndSwapLong(Object var1, long var2, long var4, long var6);
  267.  
  268.    public native Object getObjectVolatile(Object var1, long var2);
  269.  
  270.    public native void putObjectVolatile(Object var1, long var2, Object var4);
  271.  
  272.    public native int getIntVolatile(Object var1, long var2);
  273.  
  274.    public native void putIntVolatile(Object var1, long var2, int var4);
  275.  
  276.    public native boolean getBooleanVolatile(Object var1, long var2);
  277.  
  278.    public native void putBooleanVolatile(Object var1, long var2, boolean var4);
  279.  
  280.    public native byte getByteVolatile(Object var1, long var2);
  281.  
  282.    public native void putByteVolatile(Object var1, long var2, byte var4);
  283.  
  284.    public native short getShortVolatile(Object var1, long var2);
  285.  
  286.    public native void putShortVolatile(Object var1, long var2, short var4);
  287.  
  288.    public native char getCharVolatile(Object var1, long var2);
  289.  
  290.    public native void putCharVolatile(Object var1, long var2, char var4);
  291.  
  292.    public native long getLongVolatile(Object var1, long var2);
  293.  
  294.    public native void putLongVolatile(Object var1, long var2, long var4);
  295.  
  296.    public native float getFloatVolatile(Object var1, long var2);
  297.  
  298.    public native void putFloatVolatile(Object var1, long var2, float var4);
  299.  
  300.    public native double getDoubleVolatile(Object var1, long var2);
  301.  
  302.    public native void putDoubleVolatile(Object var1, long var2, double var4);
  303.  
  304.    public native void putOrderedObject(Object var1, long var2, Object var4);
  305.  
  306.    public native void putOrderedInt(Object var1, long var2, int var4);
  307.  
  308.    public native void putOrderedLong(Object var1, long var2, long var4);
  309.  
  310.    public native void unpark(Object var1);
  311.  
  312.    public native void park(boolean var1, long var2);
  313.  
  314.    public native int getLoadAverage(double[] var1, int var2);
  315.  
  316.    static {
  317.       registerNatives();
  318.       theUnsafe = new Unsafe();
  319.    }
  320. }
  321.